/*
 * @Description: 按钮权限
 * @Author: Liu Zhiwang
 * @Date: 2021-10-09 10:53:36
 * @LastEditTime: 2021-10-14 16:55:01
 * @LastEditors: Liu Zhiwang
 */
import router from '@/router'
export default {
  inserted(el, binding, vnode) {
    const { value } = binding
    if (typeof value !== 'boolean') {
      var actions
      if (getQueryString('actions')) {
        actions = (getQueryString('actions')).split(',')
      } else if (!getQueryString('actions')) {
        actions = router.currentRoute.meta.actions
      }
      if (!(!!actions && actions instanceof Array && actions.includes(value))) {
        el.parentNode && el.parentNode.removeChild(el)
      }
    } else {
      if (!value) {
        el.parentNode && el.parentNode.removeChild(el)
      }
    }
  }
}

function getQueryString(name) {
  if (!name) return null
  // 查询参数：先通过search取值，如果取不到就通过hash来取
  var after = window.location.search
  after = after.substr(1) || window.location.hash.split('?')[1]
  // 地址栏URL没有查询参数，返回空
  if (!after) return null
  // 如果查询参数中没有"name"，返回空
  if (after.indexOf(name) === -1) return null
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
  // 当地址栏参数存在中文时，需要解码，不然会乱码
  var r = decodeURI(after).match(reg)
  // 如果url中"name"没有值，返回空
  if (!r) return null
  return r[2]
}
